The networked computing environment (e.g., cloud computing environment) is an enhancement to the predecessor grid environment, whereby multiple grids and other computation resources may be further enhanced by one or more additional abstraction layers (e.g., a cloud layer), thus making disparate devices appear to an end-consumer as a single pool of seamless resources. These resources may include such things as physical or logical computing engines, servers and devices, device memory, storage devices, among others.
Within networked computing environments, it is often the case that virtual machines (VM) are utilized. In general, VM instances comprise a type of computing environment (e.g., a program or operating system) that is based upon a software abstraction layer within a computing system. In this context, a VM instance is often called a “guest” while the environment in which it operates is called a “host.” VM instances are typically created to execute a set of instructions different than that of the host environment. Because VM instances are separated from the physical resources they use, the host environment is often able to dynamically assign those resources among the VM instances. Challenges can exist in that VM instances may be configured in a less than optimal fashion. For example, it could be the case that too many or too few VM instances are provisioned within an environment. Such provisioning can result in unnecessary consumption of computing resources, and/or inefficient processing of workloads.